package com.itheima.a01mymap;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;
import java.util.Set;

public class A02_HashMapDemo3 {
    public static void main(String[] args) {

        //先投票
        //随机结果,查表法得到投的选项
        String[] strArr={"A","B","C","D"};
        Random r=new Random();
        //循环模拟80个同学投票
        ArrayList<String> list=new ArrayList<String>();
        for (int i = 0; i < 80; i++) {
            //把投票结果存入集合
            list.add(strArr[r.nextInt(4)]);
        }

        //创建hashmap集合,用于统计投票结果
        HashMap<String,Integer> hm = new HashMap<>();
        //怎么存进去？
        //第二次存一样的选项需要+1
        //遍历存入
        for (String key : list) {
            //拿到每个选项，依次塞入hashmap
            //通过key获取次数
            Integer value = hm.get(key);

            //判断
            if(value!=null){
                //已经存在
                //得到次数

                //次数++
                value++;
                //重新覆盖
                hm.put(key,value);
            }else {
                //不存在，直接添加就好
                hm.put(key,1);
            }
        }

        //到这里表示已经统计好了
        System.out.println(hm);

        //得到最大值
        int max=0;
        Set<String> set = hm.keySet();
        for (String key : set) {
            //通过key得到每一个value，也就是每个选项的总次数
            Integer count = hm.get(key);
            //把大的那一个给max
            max=Math.max(max,count);
        }
        System.out.println(max);

        //找到最大值对应的选项
        for (String key : set) {
            if(hm.get(key)==max){
                System.out.println(key);
            }
        }


    }
}
